FileDocCategorySizeDatePackage
SyncAdapterType.javaAPI DocAndroid 5.1 API8312Thu Mar 12 22:22:10 GMT 2015android.content

SyncAdapterType

public class SyncAdapterType extends Object implements android.os.Parcelable
Value type that represents a SyncAdapterType. This object overrides {@link #equals} and {@link #hashCode}, making it suitable for use as the key of a {@link java.util.Map}

Fields Summary
public final String
authority
public final String
accountType
public final boolean
isKey
private final boolean
userVisible
private final boolean
supportsUploading
private final boolean
isAlwaysSyncable
private final boolean
allowParallelSyncs
private final String
settingsActivity
public static final Creator
CREATOR
Constructors Summary
public SyncAdapterType(String authority, String accountType, boolean userVisible, boolean supportsUploading)

        if (TextUtils.isEmpty(authority)) {
            throw new IllegalArgumentException("the authority must not be empty: " + authority);
        }
        if (TextUtils.isEmpty(accountType)) {
            throw new IllegalArgumentException("the accountType must not be empty: " + accountType);
        }
        this.authority = authority;
        this.accountType = accountType;
        this.userVisible = userVisible;
        this.supportsUploading = supportsUploading;
        this.isAlwaysSyncable = false;
        this.allowParallelSyncs = false;
        this.settingsActivity = null;
        this.isKey = false;
    
public SyncAdapterType(android.os.Parcel source)

        this(
                source.readString(),
                source.readString(),
                source.readInt() != 0,
                source.readInt() != 0,
                source.readInt() != 0,
                source.readInt() != 0,
                source.readString());
    
public SyncAdapterType(String authority, String accountType, boolean userVisible, boolean supportsUploading, boolean isAlwaysSyncable, boolean allowParallelSyncs, String settingsActivity)

hide

        if (TextUtils.isEmpty(authority)) {
            throw new IllegalArgumentException("the authority must not be empty: " + authority);
        }
        if (TextUtils.isEmpty(accountType)) {
            throw new IllegalArgumentException("the accountType must not be empty: " + accountType);
        }
        this.authority = authority;
        this.accountType = accountType;
        this.userVisible = userVisible;
        this.supportsUploading = supportsUploading;
        this.isAlwaysSyncable = isAlwaysSyncable;
        this.allowParallelSyncs = allowParallelSyncs;
        this.settingsActivity = settingsActivity;
        this.isKey = false;
    
private SyncAdapterType(String authority, String accountType)

        if (TextUtils.isEmpty(authority)) {
            throw new IllegalArgumentException("the authority must not be empty: " + authority);
        }
        if (TextUtils.isEmpty(accountType)) {
            throw new IllegalArgumentException("the accountType must not be empty: " + accountType);
        }
        this.authority = authority;
        this.accountType = accountType;
        this.userVisible = true;
        this.supportsUploading = true;
        this.isAlwaysSyncable = false;
        this.allowParallelSyncs = false;
        this.settingsActivity = null;
        this.isKey = true;
    
Methods Summary
public booleanallowParallelSyncs()

return
True if this SyncAdapter supports syncing multiple accounts simultaneously. If false then the SyncManager will take care to only start one sync at a time using this SyncAdapter.

        if (isKey) {
            throw new IllegalStateException(
                    "this method is not allowed to be called when this is a key");
        }
        return allowParallelSyncs;
    
public intdescribeContents()

        return 0;
    
public booleanequals(java.lang.Object o)

        if (o == this) return true;
        if (!(o instanceof SyncAdapterType)) return false;
        final SyncAdapterType other = (SyncAdapterType)o;
        // don't include userVisible or supportsUploading in the equality check
        return authority.equals(other.authority) && accountType.equals(other.accountType);
    
public java.lang.StringgetSettingsActivity()

return
The activity to use to invoke this SyncAdapter's settings activity. May be null.

        if (isKey) {
            throw new IllegalStateException(
                    "this method is not allowed to be called when this is a key");
        }
        return settingsActivity;
    
public inthashCode()

        int result = 17;
        result = 31 * result + authority.hashCode();
        result = 31 * result + accountType.hashCode();
        // don't include userVisible or supportsUploading  the hash
        return result;
    
public booleanisAlwaysSyncable()
If true then the SyncManager will never issue an initialization sync to the SyncAdapter and will instead automatically call {@link ContentResolver#setIsSyncable(android.accounts.Account, String, int)} with a value of 1 for each account and provider that this sync adapter supports.

return
true if the SyncAdapter does not require initialization and if it is ok for the SyncAdapter to treat it as syncable automatically.

        if (isKey) {
            throw new IllegalStateException(
                    "this method is not allowed to be called when this is a key");
        }
        return isAlwaysSyncable;
    
public booleanisUserVisible()

        if (isKey) {
            throw new IllegalStateException(
                    "this method is not allowed to be called when this is a key");
        }
        return userVisible;
    
public static android.content.SyncAdapterTypenewKey(java.lang.String authority, java.lang.String accountType)

        return new SyncAdapterType(authority, accountType);
    
public booleansupportsUploading()

        if (isKey) {
            throw new IllegalStateException(
                    "this method is not allowed to be called when this is a key");
        }
        return supportsUploading;
    
public java.lang.StringtoString()

        if (isKey) {
            return "SyncAdapterType Key {name=" + authority
                    + ", type=" + accountType
                    + "}";
        } else {
            return "SyncAdapterType {name=" + authority
                    + ", type=" + accountType
                    + ", userVisible=" + userVisible
                    + ", supportsUploading=" + supportsUploading
                    + ", isAlwaysSyncable=" + isAlwaysSyncable
                    + ", allowParallelSyncs=" + allowParallelSyncs
                    + ", settingsActivity=" + settingsActivity
                    + "}";
        }
    
public voidwriteToParcel(android.os.Parcel dest, int flags)

        if (isKey) {
            throw new IllegalStateException("keys aren't parcelable");
        }

        dest.writeString(authority);
        dest.writeString(accountType);
        dest.writeInt(userVisible ? 1 : 0);
        dest.writeInt(supportsUploading ? 1 : 0);
        dest.writeInt(isAlwaysSyncable ? 1 : 0);
        dest.writeInt(allowParallelSyncs ? 1 : 0);
        dest.writeString(settingsActivity);