diff options
author | Wink Saville <wink@google.com> | 2014-10-17 15:03:58 -0700 |
---|---|---|
committer | Wink Saville <wink@google.com> | 2014-10-20 10:31:05 -0700 |
commit | 2af2d57d578e0c3a2740628e7c6336b19961cc49 (patch) | |
tree | f46a7618ed54c2bf3813c7555c37fddc31675721 /telephony/java/android/telephony/RadioAccessFamily.java | |
parent | 2f831575253e4f5a9e329e857aad2cd816f47524 (diff) | |
download | frameworks_base-2af2d57d578e0c3a2740628e7c6336b19961cc49.zip frameworks_base-2af2d57d578e0c3a2740628e7c6336b19961cc49.tar.gz frameworks_base-2af2d57d578e0c3a2740628e7c6336b19961cc49.tar.bz2 |
Radio Capability Support.
New design of capability switch for L.
Add new RIL requests:
RIL_REQUEST_GET_RADIO_CAPABILITY
RIL_REQUEST_SET_RADIO_CAPABILITY
RIL_UNSOL_RADIO_CAPABILITY
These commands allow the framework to communicate what the Radio
Capabilities for each logical modem has or should be using.
It can support 2/3/4G switch and has flexible architecture to support
future technology.
Change-Id: Iedf7f608d2ba3c06a883500f2d85abb98e69d9c1
Diffstat (limited to 'telephony/java/android/telephony/RadioAccessFamily.java')
-rw-r--r-- | telephony/java/android/telephony/RadioAccessFamily.java | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/RadioAccessFamily.java b/telephony/java/android/telephony/RadioAccessFamily.java new file mode 100644 index 0000000..dd4c45d --- /dev/null +++ b/telephony/java/android/telephony/RadioAccessFamily.java @@ -0,0 +1,135 @@ +/* +* Copyright (C) 2014 The Android Open Source Project +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package android.telephony; + +import android.os.Parcel; +import android.os.Parcelable; + +/** + * Object to indicate the phone radio type and access technology. + * + * @hide + */ +public class RadioAccessFamily implements Parcelable { + + // Radio Access Family + public static final int RAF_UNKNOWN = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN); + public static final int RAF_GPRS = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_GPRS); + public static final int RAF_EDGE = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_EDGE); + public static final int RAF_UMTS = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_UMTS); + public static final int RAF_IS95A = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_IS95A); + public static final int RAF_IS95B = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_IS95B); + public static final int RAF_1xRTT = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_1xRTT); + public static final int RAF_EVDO_0 = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_0); + public static final int RAF_EVDO_A = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_A); + public static final int RAF_HSDPA = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_HSDPA); + public static final int RAF_HSUPA = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_HSUPA); + public static final int RAF_HSPA = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_HSPA); + public static final int RAF_EVDO_B = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_B); + public static final int RAF_EHRPD = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_EHRPD); + public static final int RAF_LTE = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_LTE); + public static final int RAF_HSPAP = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_HSPAP); + public static final int RAF_GSM = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_GSM); + public static final int RAF_TD_SCDMA = (1 << ServiceState.RIL_RADIO_TECHNOLOGY_TD_SCDMA); + + /* Phone ID of phone */ + private int mPhoneId; + + /* Radio Access Family */ + private int mRadioAccessFamily; + + /** + * Constructor. + * + * @param phoneId the phone ID + * @param radioAccessFamily the phone radio access family defined + * in RadioAccessFamily. It's a bit mask value to represent + * the support type. + */ + public RadioAccessFamily(int phoneId, int radioAccessFamily) { + mPhoneId = phoneId; + mRadioAccessFamily = radioAccessFamily; + } + + /** + * Get phone ID. + * + * @return phone ID + */ + public int getPhoneId() { + return mPhoneId; + } + + /** + * get radio access family. + * + * @return radio access family + */ + public int getRadioAccessFamily() { + return mRadioAccessFamily; + } + + @Override + public String toString() { + String ret = "{ mPhoneId = " + mPhoneId + + ", mRadioAccessFamily = " + mRadioAccessFamily + + "}"; + return ret; + } + + /** + * Implement the Parcelable interface. + * + * @return describe content + */ + @Override + public int describeContents() { + return 0; + } + + /** + * Implement the Parcelable interface. + * + * @param outParcel The Parcel in which the object should be written. + * @param flags Additional flags about how the object should be written. + */ + public void writeToParcel(Parcel outParcel, int flags) { + outParcel.writeInt(mPhoneId); + outParcel.writeInt(mRadioAccessFamily); + } + + /** + * Implement the Parcelable interface. + */ + public static final Creator<RadioAccessFamily> CREATOR = + new Creator<RadioAccessFamily>() { + + @Override + public RadioAccessFamily createFromParcel(Parcel in) { + int phoneId = in.readInt(); + int radioAccessFamily = in.readInt(); + + return new RadioAccessFamily(phoneId, radioAccessFamily); + } + + @Override + public RadioAccessFamily[] newArray(int size) { + return new RadioAccessFamily[size]; + } + }; +} + |