SyncStatusInfo.java revision 231cc608d06ffc31c24bf8aa8c8275bdd2636581
1/* 2 * Copyright (C) 2009 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.content; 18 19import android.os.Parcel; 20import android.os.Parcelable; 21import android.util.Log; 22 23/** @hide */ 24public class SyncStatusInfo implements Parcelable { 25 static final int VERSION = 1; 26 27 public final int authorityId; 28 public long totalElapsedTime; 29 public int numSyncs; 30 public int numSourcePoll; 31 public int numSourceServer; 32 public int numSourceLocal; 33 public int numSourceUser; 34 public long lastSuccessTime; 35 public int lastSuccessSource; 36 public long lastFailureTime; 37 public int lastFailureSource; 38 public String lastFailureMesg; 39 public long initialFailureTime; 40 public boolean pending; 41 42 SyncStatusInfo(int authorityId) { 43 this.authorityId = authorityId; 44 } 45 46 public int getLastFailureMesgAsInt(int def) { 47 try { 48 if (lastFailureMesg != null) { 49 return Integer.parseInt(lastFailureMesg); 50 } 51 } catch (NumberFormatException e) { 52 } 53 return def; 54 } 55 56 public int describeContents() { 57 return 0; 58 } 59 60 public void writeToParcel(Parcel parcel, int flags) { 61 parcel.writeInt(VERSION); 62 parcel.writeInt(authorityId); 63 parcel.writeLong(totalElapsedTime); 64 parcel.writeInt(numSyncs); 65 parcel.writeInt(numSourcePoll); 66 parcel.writeInt(numSourceServer); 67 parcel.writeInt(numSourceLocal); 68 parcel.writeInt(numSourceUser); 69 parcel.writeLong(lastSuccessTime); 70 parcel.writeInt(lastSuccessSource); 71 parcel.writeLong(lastFailureTime); 72 parcel.writeInt(lastFailureSource); 73 parcel.writeString(lastFailureMesg); 74 parcel.writeLong(initialFailureTime); 75 parcel.writeInt(pending ? 1 : 0); 76 } 77 78 SyncStatusInfo(Parcel parcel) { 79 int version = parcel.readInt(); 80 if (version != VERSION) { 81 Log.w("SyncStatusInfo", "Unknown version: " + version); 82 } 83 authorityId = parcel.readInt(); 84 totalElapsedTime = parcel.readLong(); 85 numSyncs = parcel.readInt(); 86 numSourcePoll = parcel.readInt(); 87 numSourceServer = parcel.readInt(); 88 numSourceLocal = parcel.readInt(); 89 numSourceUser = parcel.readInt(); 90 lastSuccessTime = parcel.readLong(); 91 lastSuccessSource = parcel.readInt(); 92 lastFailureTime = parcel.readLong(); 93 lastFailureSource = parcel.readInt(); 94 lastFailureMesg = parcel.readString(); 95 initialFailureTime = parcel.readLong(); 96 pending = parcel.readInt() != 0; 97 } 98 99 public static final Creator<SyncStatusInfo> CREATOR = new Creator<SyncStatusInfo>() { 100 public SyncStatusInfo createFromParcel(Parcel in) { 101 return new SyncStatusInfo(in); 102 } 103 104 public SyncStatusInfo[] newArray(int size) { 105 return new SyncStatusInfo[size]; 106 } 107 }; 108}