SyncStatusInfo.java revision 9db3d07b9620b4269ab33f78604a36327e536ce1
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 public boolean initialize; 42 43 SyncStatusInfo(int authorityId) { 44 this.authorityId = authorityId; 45 } 46 47 public int getLastFailureMesgAsInt(int def) { 48 try { 49 if (lastFailureMesg != null) { 50 return Integer.parseInt(lastFailureMesg); 51 } 52 } catch (NumberFormatException e) { 53 } 54 return def; 55 } 56 57 public int describeContents() { 58 return 0; 59 } 60 61 public void writeToParcel(Parcel parcel, int flags) { 62 parcel.writeInt(VERSION); 63 parcel.writeInt(authorityId); 64 parcel.writeLong(totalElapsedTime); 65 parcel.writeInt(numSyncs); 66 parcel.writeInt(numSourcePoll); 67 parcel.writeInt(numSourceServer); 68 parcel.writeInt(numSourceLocal); 69 parcel.writeInt(numSourceUser); 70 parcel.writeLong(lastSuccessTime); 71 parcel.writeInt(lastSuccessSource); 72 parcel.writeLong(lastFailureTime); 73 parcel.writeInt(lastFailureSource); 74 parcel.writeString(lastFailureMesg); 75 parcel.writeLong(initialFailureTime); 76 parcel.writeInt(pending ? 1 : 0); 77 parcel.writeInt(initialize ? 1 : 0); 78 } 79 80 SyncStatusInfo(Parcel parcel) { 81 int version = parcel.readInt(); 82 if (version != VERSION) { 83 Log.w("SyncStatusInfo", "Unknown version: " + version); 84 } 85 authorityId = parcel.readInt(); 86 totalElapsedTime = parcel.readLong(); 87 numSyncs = parcel.readInt(); 88 numSourcePoll = parcel.readInt(); 89 numSourceServer = parcel.readInt(); 90 numSourceLocal = parcel.readInt(); 91 numSourceUser = parcel.readInt(); 92 lastSuccessTime = parcel.readLong(); 93 lastSuccessSource = parcel.readInt(); 94 lastFailureTime = parcel.readLong(); 95 lastFailureSource = parcel.readInt(); 96 lastFailureMesg = parcel.readString(); 97 initialFailureTime = parcel.readLong(); 98 pending = parcel.readInt() != 0; 99 initialize = parcel.readInt() != 0; 100 } 101 102 public static final Creator<SyncStatusInfo> CREATOR = new Creator<SyncStatusInfo>() { 103 public SyncStatusInfo createFromParcel(Parcel in) { 104 return new SyncStatusInfo(in); 105 } 106 107 public SyncStatusInfo[] newArray(int size) { 108 return new SyncStatusInfo[size]; 109 } 110 }; 111}