1963db55d59a170f4b17ff907c96615a19ef6fe17John Wang/* 2963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * Copyright (C) 2008 The Android Open Source Project 3963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * 4963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * Licensed under the Apache License, Version 2.0 (the "License"); 5963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * you may not use this file except in compliance with the License. 6963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * You may obtain a copy of the License at 7963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * 8963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * http://www.apache.org/licenses/LICENSE-2.0 9963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * 10963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * Unless required by applicable law or agreed to in writing, software 11963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * distributed under the License is distributed on an "AS IS" BASIS, 12963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * See the License for the specific language governing permissions and 14963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * limitations under the License. 15963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 16963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 17963db55d59a170f4b17ff907c96615a19ef6fe17John Wangpackage android.telephony; 18963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 19963db55d59a170f4b17ff907c96615a19ef6fe17John Wangimport android.os.Parcel; 20963db55d59a170f4b17ff907c96615a19ef6fe17John Wangimport android.os.Parcelable; 21963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 22963db55d59a170f4b17ff907c96615a19ef6fe17John Wang/** 23963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * CellIdentity is to represent a unique LTE cell 24963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * 25963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @hide pending API review 26963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 27963db55d59a170f4b17ff907c96615a19ef6fe17John Wangpublic final class LteCellIdentity extends CellIdentity implements Parcelable { 28963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 29963db55d59a170f4b17ff907c96615a19ef6fe17John Wang // 3-digit Mobile Country Code, 0..999 30963db55d59a170f4b17ff907c96615a19ef6fe17John Wang private final int mMcc; 31963db55d59a170f4b17ff907c96615a19ef6fe17John Wang // 2 or 3-digit Mobile Network Code, 0..999 32963db55d59a170f4b17ff907c96615a19ef6fe17John Wang private final int mMnc; 33963db55d59a170f4b17ff907c96615a19ef6fe17John Wang // 28-bit cell identity 34963db55d59a170f4b17ff907c96615a19ef6fe17John Wang private final int mCi; 35963db55d59a170f4b17ff907c96615a19ef6fe17John Wang // physical cell id 0..503 36963db55d59a170f4b17ff907c96615a19ef6fe17John Wang private final int mPci; 37963db55d59a170f4b17ff907c96615a19ef6fe17John Wang // 16-bit tracking area code 38963db55d59a170f4b17ff907c96615a19ef6fe17John Wang private final int mTac; 39963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 40963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 41963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * 42963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @param mcc 3-digit Mobile Country Code, 0..999 43963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @param mnc 2 or 3-digit Mobile Network Code, 0..999 44963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @param ci 28-bit Cell Identity 45963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @param pci Physical Cell Id 0..503 46963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @param tac 16-bit Tracking Area Code 47963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @param attr is comma separated “key=value” attribute pairs. 48963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 49963db55d59a170f4b17ff907c96615a19ef6fe17John Wang public LteCellIdentity (int mcc, int mnc, 50963db55d59a170f4b17ff907c96615a19ef6fe17John Wang int ci, int pci, int tac, String attr) { 51963db55d59a170f4b17ff907c96615a19ef6fe17John Wang super(CELLID_TYPE_CDMA, attr); 52963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mMcc = mcc; 53963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mMnc = mnc; 54963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mCi = ci; 55963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mPci = pci; 56963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mTac = tac; 57963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 58963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 59963db55d59a170f4b17ff907c96615a19ef6fe17John Wang private LteCellIdentity(Parcel in) { 60963db55d59a170f4b17ff907c96615a19ef6fe17John Wang super(in); 61963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mMcc = in.readInt(); 62963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mMnc = in.readInt(); 63963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mCi = in.readInt(); 64963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mPci = in.readInt(); 65963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mTac = in.readInt(); 66963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 67963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 68963db55d59a170f4b17ff907c96615a19ef6fe17John Wang LteCellIdentity(LteCellIdentity cid) { 69963db55d59a170f4b17ff907c96615a19ef6fe17John Wang super(cid); 70963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mMcc = cid.mMcc; 71963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mMnc = cid.mMnc; 72963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mCi = cid.mCi; 73963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mPci = cid.mPci; 74963db55d59a170f4b17ff907c96615a19ef6fe17John Wang mTac = cid.mTac; 75963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 76963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 77963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 78963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @return 3-digit Mobile Country Code, 0..999 79963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 80963db55d59a170f4b17ff907c96615a19ef6fe17John Wang public int getMcc() { 81963db55d59a170f4b17ff907c96615a19ef6fe17John Wang return mMcc; 82963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 83963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 84963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 85963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @return 2 or 3-digit Mobile Network Code, 0..999 86963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 87963db55d59a170f4b17ff907c96615a19ef6fe17John Wang public int getMnc() { 88963db55d59a170f4b17ff907c96615a19ef6fe17John Wang return mMnc; 89963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 90963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 91963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 92963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @return 28-bit Cell Identity 93963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 94963db55d59a170f4b17ff907c96615a19ef6fe17John Wang public int getCi() { 95963db55d59a170f4b17ff907c96615a19ef6fe17John Wang return mCi; 96963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 97963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 98963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 99963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @return Physical Cell Id 0..503 100963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 101963db55d59a170f4b17ff907c96615a19ef6fe17John Wang public int getPci() { 102963db55d59a170f4b17ff907c96615a19ef6fe17John Wang return mPci; 103963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 104963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 105963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 106963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * @return 16-bit Tracking Area Code 107963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 108963db55d59a170f4b17ff907c96615a19ef6fe17John Wang public int getTac() { 109963db55d59a170f4b17ff907c96615a19ef6fe17John Wang return mTac; 110963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 111963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 112963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** Implement the Parcelable interface {@hide} */ 113963db55d59a170f4b17ff907c96615a19ef6fe17John Wang @Override 114963db55d59a170f4b17ff907c96615a19ef6fe17John Wang public int describeContents() { 115963db55d59a170f4b17ff907c96615a19ef6fe17John Wang return 0; 116963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 117963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 118963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** Implement the Parcelable interface {@hide} */ 119963db55d59a170f4b17ff907c96615a19ef6fe17John Wang @Override 120963db55d59a170f4b17ff907c96615a19ef6fe17John Wang public void writeToParcel(Parcel dest, int flags) { 121963db55d59a170f4b17ff907c96615a19ef6fe17John Wang super.writeToParcel(dest, flags); 122963db55d59a170f4b17ff907c96615a19ef6fe17John Wang dest.writeInt(mMcc); 123963db55d59a170f4b17ff907c96615a19ef6fe17John Wang dest.writeInt(mMnc); 124963db55d59a170f4b17ff907c96615a19ef6fe17John Wang dest.writeInt(mCi); 125963db55d59a170f4b17ff907c96615a19ef6fe17John Wang dest.writeInt(mPci); 126963db55d59a170f4b17ff907c96615a19ef6fe17John Wang dest.writeInt(mTac); 127963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 128963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 129963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** Implement the Parcelable interface {@hide} */ 130963db55d59a170f4b17ff907c96615a19ef6fe17John Wang public static final Creator<LteCellIdentity> CREATOR = 131963db55d59a170f4b17ff907c96615a19ef6fe17John Wang new Creator<LteCellIdentity>() { 132963db55d59a170f4b17ff907c96615a19ef6fe17John Wang @Override 133963db55d59a170f4b17ff907c96615a19ef6fe17John Wang public LteCellIdentity createFromParcel(Parcel in) { 134963db55d59a170f4b17ff907c96615a19ef6fe17John Wang return new LteCellIdentity(in); 135963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 136963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 137963db55d59a170f4b17ff907c96615a19ef6fe17John Wang @Override 138963db55d59a170f4b17ff907c96615a19ef6fe17John Wang public LteCellIdentity[] newArray(int size) { 139963db55d59a170f4b17ff907c96615a19ef6fe17John Wang return new LteCellIdentity[size]; 140963db55d59a170f4b17ff907c96615a19ef6fe17John Wang } 141963db55d59a170f4b17ff907c96615a19ef6fe17John Wang }; 142963db55d59a170f4b17ff907c96615a19ef6fe17John Wang} 143