1f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey/*
2f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey * Copyright (C) 2011 The Android Open Source Project
3f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey *
4f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey * Licensed under the Apache License, Version 2.0 (the "License");
5f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey * you may not use this file except in compliance with the License.
6f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey * You may obtain a copy of the License at
7f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey *
8f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey *      http://www.apache.org/licenses/LICENSE-2.0
9f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey *
10f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey * Unless required by applicable law or agreed to in writing, software
11f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey * distributed under the License is distributed on an "AS IS" BASIS,
12f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey * See the License for the specific language governing permissions and
14f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey * limitations under the License.
15f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey */
16f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
17f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkeypackage android.net;
18f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
19f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkeyimport android.os.Parcel;
20f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkeyimport android.os.Parcelable;
21f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
22f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey/**
23f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey * Information about quota status on a specific network.
2444a3e0d497f19fad1de4b73eb0eb6d3b6132c405Jeff Sharkey *
2544a3e0d497f19fad1de4b73eb0eb6d3b6132c405Jeff Sharkey * @hide
26f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey */
27f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkeypublic class NetworkQuotaInfo implements Parcelable {
28f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    private final long mEstimatedBytes;
29f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    private final long mSoftLimitBytes;
30f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    private final long mHardLimitBytes;
31f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
32f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    public static final long NO_LIMIT = -1;
33f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
34f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    /** {@hide} */
35f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    public NetworkQuotaInfo(long estimatedBytes, long softLimitBytes, long hardLimitBytes) {
36f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        mEstimatedBytes = estimatedBytes;
37f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        mSoftLimitBytes = softLimitBytes;
38f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        mHardLimitBytes = hardLimitBytes;
39f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    }
40f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
41f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    /** {@hide} */
42f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    public NetworkQuotaInfo(Parcel in) {
43f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        mEstimatedBytes = in.readLong();
44f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        mSoftLimitBytes = in.readLong();
45f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        mHardLimitBytes = in.readLong();
46f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    }
47f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
48f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    public long getEstimatedBytes() {
49f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        return mEstimatedBytes;
50f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    }
51f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
52f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    public long getSoftLimitBytes() {
53f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        return mSoftLimitBytes;
54f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    }
55f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
56f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    public long getHardLimitBytes() {
57f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        return mHardLimitBytes;
58f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    }
59f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
60bfdd680ab44da173a4a39fcd6feccdebb9d1f855Jeff Sharkey    @Override
61f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    public int describeContents() {
62f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        return 0;
63f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    }
64f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
65bfdd680ab44da173a4a39fcd6feccdebb9d1f855Jeff Sharkey    @Override
66f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    public void writeToParcel(Parcel out, int flags) {
67f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        out.writeLong(mEstimatedBytes);
68f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        out.writeLong(mSoftLimitBytes);
69f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        out.writeLong(mHardLimitBytes);
70f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    }
71f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
72f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    public static final Creator<NetworkQuotaInfo> CREATOR = new Creator<NetworkQuotaInfo>() {
73bfdd680ab44da173a4a39fcd6feccdebb9d1f855Jeff Sharkey        @Override
74f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        public NetworkQuotaInfo createFromParcel(Parcel in) {
75f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey            return new NetworkQuotaInfo(in);
76f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        }
77f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey
78bfdd680ab44da173a4a39fcd6feccdebb9d1f855Jeff Sharkey        @Override
79f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        public NetworkQuotaInfo[] newArray(int size) {
80f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey            return new NetworkQuotaInfo[size];
81f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey        }
82f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey    };
83f0ceede8fff5df24e5c98701d81c2b71eb138aa9Jeff Sharkey}
84