aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/cgSearch.java
blob: b96b1cd5ad0915c0cdcf58728680009edce4b82f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package cgeo.geocaching;

import cgeo.geocaching.enumerations.StatusCode;

import android.os.Parcel;
import android.os.Parcelable;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class cgSearch implements Parcelable {

    final private List<String> geocodes;
    public StatusCode error = null;
    public String url = "";
    public String[] viewstates = null;
    public int totalCnt = 0;

    final public static Parcelable.Creator<cgSearch> CREATOR = new Parcelable.Creator<cgSearch>() {
        public cgSearch createFromParcel(Parcel in) {
            return new cgSearch(in);
        }

        public cgSearch[] newArray(int size) {
            return new cgSearch[size];
        }
    };

    public cgSearch() {
        this((List<String>) null);
    }

    public cgSearch(final List<String> geocodes) {
        if (geocodes == null) {
            this.geocodes = new ArrayList<String>();
        } else {
            this.geocodes = new ArrayList<String>(geocodes.size());
            this.geocodes.addAll(geocodes);
        }
    }

    public cgSearch(final Parcel in) {
        geocodes = new ArrayList<String>();
        in.readStringList(geocodes);
        error = (StatusCode) in.readSerializable();
        url = in.readString();
        final int length = in.readInt();
        if (length >= 0) {
            viewstates = new String[length];
            in.readStringArray(viewstates);
        }
        totalCnt = in.readInt();
    }

    @Override
    public void writeToParcel(final Parcel out, final int flags) {
        out.writeStringList(geocodes);
        out.writeSerializable(error);
        out.writeString(url);
        if (viewstates == null) {
            out.writeInt(-1);
        } else {
            out.writeInt(viewstates.length);
            out.writeStringArray(viewstates);
        }
        out.writeInt(totalCnt);
    }

    @Override
    public int describeContents() {
        return 0;
    }

    public List<String> getGeocodes() {
        return Collections.unmodifiableList(geocodes);
    }

    public int getCount() {
        return geocodes.size();
    }

    public void addGeocode(final String geocode) {
        geocodes.add(geocode);
    }

}