RadioAccessFamily.java revision 2af2d57d578e0c3a2740628e7c6336b19961cc49
12af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville/*
22af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville* Copyright (C) 2014 The Android Open Source Project
32af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville*
42af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville* Licensed under the Apache License, Version 2.0 (the "License");
52af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville* you may not use this file except in compliance with the License.
62af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville* You may obtain a copy of the License at
72af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville*
82af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville*      http://www.apache.org/licenses/LICENSE-2.0
92af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville*
102af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville* Unless required by applicable law or agreed to in writing, software
112af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville* distributed under the License is distributed on an "AS IS" BASIS,
122af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville* See the License for the specific language governing permissions and
142af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville* limitations under the License.
152af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville*/
162af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
172af2d57d578e0c3a2740628e7c6336b19961cc49Wink Savillepackage android.telephony;
182af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
192af2d57d578e0c3a2740628e7c6336b19961cc49Wink Savilleimport android.os.Parcel;
202af2d57d578e0c3a2740628e7c6336b19961cc49Wink Savilleimport android.os.Parcelable;
212af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
222af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville/**
232af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * Object to indicate the phone radio type and access technology.
242af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville *
252af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * @hide
262af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville */
272af2d57d578e0c3a2740628e7c6336b19961cc49Wink Savillepublic class RadioAccessFamily implements Parcelable {
282af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
292af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    // Radio Access Family
302af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_UNKNOWN = (1 <<  ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN);
312af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_GPRS = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_GPRS);
322af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_EDGE = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_EDGE);
332af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_UMTS = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_UMTS);
342af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_IS95A = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_IS95A);
352af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_IS95B = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_IS95B);
362af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_1xRTT = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_1xRTT);
372af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_EVDO_0 = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_0);
382af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_EVDO_A = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_A);
392af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_HSDPA = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_HSDPA);
402af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_HSUPA = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_HSUPA);
412af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_HSPA = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_HSPA);
422af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_EVDO_B = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_B);
432af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_EHRPD = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_EHRPD);
442af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_LTE = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_LTE);
452af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_HSPAP = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_HSPAP);
462af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_GSM = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_GSM);
472af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final int RAF_TD_SCDMA = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_TD_SCDMA);
482af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
492af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    /* Phone ID of phone */
502af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    private int mPhoneId;
512af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
522af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    /* Radio Access Family */
532af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    private int mRadioAccessFamily;
542af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
552af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    /**
562af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * Constructor.
572af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     *
582af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * @param phoneId the phone ID
592af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * @param radioAccessFamily the phone radio access family defined
602af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     *        in RadioAccessFamily. It's a bit mask value to represent
612af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     *        the support type.
622af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     */
632af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public RadioAccessFamily(int phoneId, int radioAccessFamily) {
642af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        mPhoneId = phoneId;
652af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        mRadioAccessFamily = radioAccessFamily;
662af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    }
672af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
682af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    /**
692af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * Get phone ID.
702af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     *
712af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * @return phone ID
722af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     */
732af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public int getPhoneId() {
742af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        return mPhoneId;
752af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    }
762af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
772af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    /**
782af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * get radio access family.
792af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     *
802af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * @return radio access family
812af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     */
822af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public int getRadioAccessFamily() {
832af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        return mRadioAccessFamily;
842af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    }
852af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
862af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    @Override
872af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public String toString() {
882af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        String ret = "{ mPhoneId = " + mPhoneId
892af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville                + ", mRadioAccessFamily = " + mRadioAccessFamily
902af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville                + "}";
912af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        return ret;
922af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    }
932af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
942af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    /**
952af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * Implement the Parcelable interface.
962af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     *
972af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * @return describe content
982af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     */
992af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    @Override
1002af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public int describeContents() {
1012af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        return 0;
1022af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    }
1032af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
1042af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    /**
1052af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * Implement the Parcelable interface.
1062af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     *
1072af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * @param outParcel The Parcel in which the object should be written.
1082af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * @param flags Additional flags about how the object should be written.
1092af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     */
1102af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public void writeToParcel(Parcel outParcel, int flags) {
1112af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        outParcel.writeInt(mPhoneId);
1122af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        outParcel.writeInt(mRadioAccessFamily);
1132af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    }
1142af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
1152af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    /**
1162af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     * Implement the Parcelable interface.
1172af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville     */
1182af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    public static final Creator<RadioAccessFamily> CREATOR =
1192af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville            new Creator<RadioAccessFamily>() {
1202af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
1212af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        @Override
1222af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        public RadioAccessFamily createFromParcel(Parcel in) {
1232af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville            int phoneId = in.readInt();
1242af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville            int radioAccessFamily = in.readInt();
1252af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
1262af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville            return new RadioAccessFamily(phoneId, radioAccessFamily);
1272af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        }
1282af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
1292af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        @Override
1302af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        public RadioAccessFamily[] newArray(int size) {
1312af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville            return new RadioAccessFamily[size];
1322af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville        }
1332af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville    };
1342af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville}
1352af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville
136