blob: b8fda030b11c30ef91bda019fec0ea80f6db7eba [file] [log] [blame]
Dianne Hackborn231cc602009-04-27 17:10:36 -07001/*
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;
Costin Manolache5ed64cd2009-09-22 14:41:46 -070041 public boolean initialize;
Dianne Hackborn231cc602009-04-27 17:10:36 -070042
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);
Costin Manolache5ed64cd2009-09-22 14:41:46 -070077 parcel.writeInt(initialize ? 1 : 0);
Dianne Hackborn231cc602009-04-27 17:10:36 -070078 }
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;
Costin Manolache5ed64cd2009-09-22 14:41:46 -070099 initialize = parcel.readInt() != 0;
Dianne Hackborn231cc602009-04-27 17:10:36 -0700100 }
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}