14eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle/*
24eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle * Copyright (C) 2014 The Android Open Source Project
34eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle *
44eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle * Licensed under the Apache License, Version 2.0 (the "License");
54eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle * you may not use this file except in compliance with the License.
64eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle * You may obtain a copy of the License at
74eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle *
84eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle *      http://www.apache.org/licenses/LICENSE-2.0
94eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle *
104eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle * Unless required by applicable law or agreed to in writing, software
114eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle * distributed under the License is distributed on an "AS IS" BASIS,
124eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle * See the License for the specific language governing permissions and
144eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle * limitations under the License.
154eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle */
164eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
174eeecb25509f91ac7a6e2cde76dac782fbec5360vandwallepackage android.net.wifi;
184eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
194eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalleimport android.annotation.SystemApi;
204eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
214eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalleimport android.os.Parcel;
224eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalleimport android.os.Parcelable;
234eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
244eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalleimport java.util.HashMap;
254eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
264eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle/**
274eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle * Connection Statistics For a WiFi Network.
284eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle * @hide
294eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle */
304eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle@SystemApi
314eeecb25509f91ac7a6e2cde76dac782fbec5360vandwallepublic class WifiNetworkConnectionStatistics implements Parcelable {
324eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    private static final String TAG = "WifiNetworkConnnectionStatistics";
334eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
344eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    public int numConnection;
354eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    public int numUsage;
364eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
374eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    public WifiNetworkConnectionStatistics(int connection, int usage) {
384eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        numConnection = connection;
394eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        numUsage = usage;
404eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    }
414eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
424eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    public WifiNetworkConnectionStatistics() { }
434eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
444eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
454eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    @Override
464eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    public String toString() {
474eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        StringBuilder sbuf = new StringBuilder();
484eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        sbuf.append("c=").append(numConnection);
494eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        sbuf.append(" u=").append(numUsage);
504eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        return sbuf.toString();
514eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    }
524eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
534eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
544eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    /** copy constructor*/
554eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    public WifiNetworkConnectionStatistics(WifiNetworkConnectionStatistics source) {
564eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        numConnection = source.numConnection;
574eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        numUsage = source.numUsage;
584eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    }
594eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
604eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    /** Implement the Parcelable interface */
614eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    public int describeContents() {
624eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        return 0;
634eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    }
644eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
654eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    /** Implement the Parcelable interface */
664eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    @Override
674eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    public void writeToParcel(Parcel dest, int flags) {
684eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        dest.writeInt(numConnection);
694eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        dest.writeInt(numUsage);
704eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    }
714eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
724eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    /** Implement the Parcelable interface */
734eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle    public static final Creator<WifiNetworkConnectionStatistics> CREATOR =
744eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        new Creator<WifiNetworkConnectionStatistics>() {
754eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle            public WifiNetworkConnectionStatistics createFromParcel(Parcel in) {
764eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle                int numConnection = in.readInt();
774eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle                int numUsage = in.readInt();
784eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle                WifiNetworkConnectionStatistics stats =
794eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle                        new WifiNetworkConnectionStatistics(numConnection, numUsage);
804eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle                return stats;
814eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle            }
824eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle
834eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle            public WifiNetworkConnectionStatistics[] newArray(int size) {
844eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle                return new WifiNetworkConnectionStatistics[size];
854eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle            }
864eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle        };
874eeecb25509f91ac7a6e2cde76dac782fbec5360vandwalle}
88