public
final
class
SyncResult
extends Object
implements
Parcelable
java.lang.Object | |
↳ | android.content.SyncResult |
This class is used to communicate the results of a sync operation to the SyncManager. Based on the values here the SyncManager will determine the disposition of the sync and whether or not a new sync operation needs to be scheduled in the future.
Inherited constants |
---|
From
interface
android.os.Parcelable
|
Fields | |
---|---|
public
static
final
SyncResult |
ALREADY_IN_PROGRESS
This instance of a SyncResult is returned by the SyncAdapter in response to a sync request when a sync is already underway. |
public
static
final
Creator<SyncResult> |
CREATOR
|
public
boolean |
databaseError
Used to indicate that the SyncAdapter experienced a hard error due to an error it received from interacting with the storage layer. |
public
long |
delayUntil
Used to indicate to the SyncManager that future sync requests that match the request's Account and authority should be delayed at least this many seconds. |
public
boolean |
fullSyncRequested
If set the SyncManager will request an immediate sync with the same Account and authority (but empty extras Bundle) as was used in the sync request. |
public
boolean |
moreRecordsToGet
This field is ignored by the SyncManager. |
public
boolean |
partialSyncUnavailable
This field is ignored by the SyncManager. |
public
final
SyncStats |
stats
Used to hold extras statistics about the sync operation. |
public
final
boolean |
syncAlreadyInProgress
Used to indicate that the SyncAdapter is already performing a sync operation, though not necessarily for the requested account and authority and that it wasn't able to process this request. |
public
boolean |
tooManyDeletions
Used to indicate that the SyncAdapter determined that it would need to issue too many delete operations to the server in order to satisfy the request (as defined by the SyncAdapter). |
public
boolean |
tooManyRetries
Used to indicate that the SyncAdapter experienced a hard error due to trying the same operation too many times (as defined by the SyncAdapter). |
Public constructors | |
---|---|
SyncResult()
Create a "clean" SyncResult. |
Public methods | |
---|---|
void
|
clear()
Clears the SyncResult to a clean state. |
int
|
describeContents()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
boolean
|
hasError()
A convenience method for determining of the SyncResult indicates that an error occurred. |
boolean
|
hasHardError()
Convenience method for determining if the SyncResult indicates that a hard error occurred. |
boolean
|
hasSoftError()
Convenience method for determining if the SyncResult indicates that a soft error occurred. |
boolean
|
madeSomeProgress()
Convenience method for determining if the Sync should be rescheduled after failing for some reason. |
String
|
toDebugString()
Generates a debugging string indicating the status. |
String
|
toString()
Returns a string representation of the object. |
void
|
writeToParcel(Parcel parcel, int flags)
Flatten this object in to a Parcel. |
Inherited methods | |
---|---|
From
class
java.lang.Object
| |
From
interface
android.os.Parcelable
|
SyncResult ALREADY_IN_PROGRESS
This instance of a SyncResult is returned by the SyncAdapter in response to a sync request when a sync is already underway. The SyncManager will reschedule the sync request to try again later.
boolean databaseError
Used to indicate that the SyncAdapter experienced a hard error due to an error it received from interacting with the storage layer. The SyncManager will record that the sync request failed and it will not reschedule the request.
long delayUntil
Used to indicate to the SyncManager that future sync requests that match the request's Account and authority should be delayed at least this many seconds.
boolean fullSyncRequested
If set the SyncManager will request an immediate sync with the same Account and authority (but empty extras Bundle) as was used in the sync request.
boolean moreRecordsToGet
This field is ignored by the SyncManager.
boolean partialSyncUnavailable
This field is ignored by the SyncManager.
SyncStats stats
Used to hold extras statistics about the sync operation. Some of these indicate that the sync request resulted in a hard or soft error, others are for purely informational purposes.
boolean syncAlreadyInProgress
Used to indicate that the SyncAdapter is already performing a sync operation, though not necessarily for the requested account and authority and that it wasn't able to process this request. The SyncManager will reschedule the request to run later.
boolean tooManyDeletions
Used to indicate that the SyncAdapter determined that it would need to issue
too many delete operations to the server in order to satisfy the request
(as defined by the SyncAdapter). The SyncManager will record
that the sync request failed and will cause a System Notification to be created
asking the user what they want to do about this. It will give the user a chance to
choose between (1) go ahead even with those deletes, (2) revert the deletes,
or (3) take no action. If the user decides (1) or (2) the SyncManager will issue another
sync request with either SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS
or SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS
set in the extras.
It is then up to the SyncAdapter to decide how to honor that request.
boolean tooManyRetries
Used to indicate that the SyncAdapter experienced a hard error due to trying the same operation too many times (as defined by the SyncAdapter). The SyncManager will record that the sync request failed and it will not reschedule the request.
SyncResult ()
Create a "clean" SyncResult. If this is returned without any changes then the SyncManager will consider the sync to have completed successfully. The various fields can be set by the SyncAdapter in order to give the SyncManager more information as to the disposition of the sync.
The errors are classified into two broad categories: hard errors and soft errors.
Soft errors are retried with exponential backoff. Hard errors are not retried (except
when the hard error is for a SYNC_EXTRAS_UPLOAD
request,
in which the request is retryed without the SYNC_EXTRAS_UPLOAD
extra set). The SyncManager checks the type of error by calling
hasHardError()
and hasSoftError()
. If both are
true then the SyncManager treats it as a hard error, not a soft error.
void clear ()
Clears the SyncResult to a clean state. Throws an UnsupportedOperationException
if this is called when syncAlreadyInProgress
is set.
int describeContents ()
Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation. For example, if the object will
include a file descriptor in the output of writeToParcel(Parcel, int)
,
the return value of this method must include the
CONTENTS_FILE_DESCRIPTOR
bit.
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. |
boolean hasError ()
A convenience method for determining of the SyncResult indicates that an error occurred.
Returns | |
---|---|
boolean |
true if either a soft or hard error occurred |
boolean hasHardError ()
Convenience method for determining if the SyncResult indicates that a hard error
occurred. See SyncResult()
for an explanation of what the SyncManager does
when it sees a hard error.
A hard error is indicated when any of the following is true:
numParseExceptions
> 0
numConflictDetectedExceptions
> 0
numAuthExceptions
> 0
tooManyDeletions
tooManyRetries
databaseError
Returns | |
---|---|
boolean |
true if a hard error is indicated |
boolean hasSoftError ()
Convenience method for determining if the SyncResult indicates that a soft error
occurred. See SyncResult()
for an explanation of what the SyncManager does
when it sees a soft error.
A soft error is indicated when any of the following is true:
Returns | |
---|---|
boolean |
true if a soft error is indicated |
boolean madeSomeProgress ()
Convenience method for determining if the Sync should be rescheduled after failing for some reason.
Returns | |
---|---|
boolean |
true if the SyncManager should reschedule this sync. |
String toDebugString ()
Generates a debugging string indicating the status. The string consist of a sequence of code letter followed by the count. Code letters are f - fullSyncRequested, r - partialSyncUnavailable, X - hardError, e - numParseExceptions, c - numConflictDetectedExceptions, a - numAuthExceptions, D - tooManyDeletions, R - tooManyRetries, b - databaseError, x - softError, l - syncAlreadyInProgress, I - numIoExceptions
Returns | |
---|---|
String |
debugging string. |
String toString ()
Returns a string representation of the object. In general, the
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
void writeToParcel (Parcel parcel, int flags)
Flatten this object in to a Parcel.
Parameters | |
---|---|
parcel |
Parcel :
The Parcel in which the object should be written. |
flags |
int :
Additional flags about how the object should be written.
May be 0 or PARCELABLE_WRITE_RETURN_VALUE .
|