⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 syncresult.java

📁 Android平台上的media player, iPhone风格
💻 JAVA
字号:
package android.content;import android.os.Parcel;import android.os.Parcelable;/** * This class is used to store information about the result of a sync *  * @hide */public final class SyncResult implements Parcelable {    public final boolean syncAlreadyInProgress;    public boolean tooManyDeletions;    public boolean tooManyRetries;    public boolean databaseError;    public boolean fullSyncRequested;    public boolean partialSyncUnavailable;    public boolean moreRecordsToGet;    public final SyncStats stats;    public static final SyncResult ALREADY_IN_PROGRESS;    static {        ALREADY_IN_PROGRESS = new SyncResult(true);    }    public SyncResult() {        this(false);    }    private SyncResult(boolean syncAlreadyInProgress) {        this.syncAlreadyInProgress = syncAlreadyInProgress;        this.tooManyDeletions = false;        this.tooManyRetries = false;        this.fullSyncRequested = false;        this.partialSyncUnavailable = false;        this.moreRecordsToGet = false;        this.stats = new SyncStats();    }    private SyncResult(Parcel parcel) {        syncAlreadyInProgress = parcel.readInt() != 0;        tooManyDeletions = parcel.readInt() != 0;        tooManyRetries = parcel.readInt() != 0;        databaseError = parcel.readInt() != 0;        fullSyncRequested = parcel.readInt() != 0;        partialSyncUnavailable = parcel.readInt() != 0;        moreRecordsToGet = parcel.readInt() != 0;        stats = new SyncStats(parcel);    }    public boolean hasHardError() {        return stats.numParseExceptions > 0                || stats.numConflictDetectedExceptions > 0                || stats.numAuthExceptions > 0                || tooManyDeletions                || tooManyRetries                || databaseError;    }    public boolean hasSoftError() {        return syncAlreadyInProgress || stats.numIoExceptions > 0;    }    public boolean hasError() {        return hasSoftError() || hasHardError();    }    public boolean madeSomeProgress() {        return ((stats.numDeletes > 0) && !tooManyDeletions)                || stats.numInserts > 0                || stats.numUpdates > 0;    }    public void clear() {        if (syncAlreadyInProgress) {            throw new UnsupportedOperationException(                    "you are not allowed to clear the ALREADY_IN_PROGRESS SyncStats");        }        tooManyDeletions = false;        tooManyRetries = false;        databaseError = false;        fullSyncRequested = false;        partialSyncUnavailable = false;        moreRecordsToGet = false;        stats.clear();    }    public static final Creator<SyncResult> CREATOR = new Creator<SyncResult>() {        public SyncResult createFromParcel(Parcel in) {            return new SyncResult(in);        }        public SyncResult[] newArray(int size) {            return new SyncResult[size];        }    };    public int describeContents() {        return 0;    }    public void writeToParcel(Parcel parcel, int flags) {        parcel.writeInt(syncAlreadyInProgress ? 1 : 0);        parcel.writeInt(tooManyDeletions ? 1 : 0);        parcel.writeInt(tooManyRetries ? 1 : 0);        parcel.writeInt(databaseError ? 1 : 0);        parcel.writeInt(fullSyncRequested ? 1 : 0);        parcel.writeInt(partialSyncUnavailable ? 1 : 0);        parcel.writeInt(moreRecordsToGet ? 1 : 0);        stats.writeToParcel(parcel, flags);    }    @Override    public String toString() {        StringBuilder sb = new StringBuilder();        sb.append(" syncAlreadyInProgress: ").append(syncAlreadyInProgress);        sb.append(" tooManyDeletions: ").append(tooManyDeletions);        sb.append(" tooManyRetries: ").append(tooManyRetries);        sb.append(" databaseError: ").append(databaseError);        sb.append(" fullSyncRequested: ").append(fullSyncRequested);        sb.append(" partialSyncUnavailable: ").append(partialSyncUnavailable);        sb.append(" moreRecordsToGet: ").append(moreRecordsToGet);        sb.append(" stats: ").append(stats);        return sb.toString();    }    /**     * 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     * @return debugging string.     */    public String toDebugString() {        StringBuffer sb = new StringBuffer();        if (fullSyncRequested) {            sb.append("f1");        }        if (partialSyncUnavailable) {            sb.append("r1");        }        if (hasHardError()) {            sb.append("X1");        }        if (stats.numParseExceptions > 0) {            sb.append("e").append(stats.numParseExceptions);        }        if (stats.numConflictDetectedExceptions > 0) {            sb.append("c").append(stats.numConflictDetectedExceptions);        }        if (stats.numAuthExceptions > 0) {            sb.append("a").append(stats.numAuthExceptions);        }        if (tooManyDeletions) {            sb.append("D1");        }        if (tooManyRetries) {            sb.append("R1");        }        if (databaseError) {            sb.append("b1");        }        if (hasSoftError()) {            sb.append("x1");        }        if (syncAlreadyInProgress) {            sb.append("l1");        }        if (stats.numIoExceptions > 0) {            sb.append("I").append(stats.numIoExceptions);        }        return sb.toString();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -