19a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri/**
29a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri * Copyright (c) 2015, The Android Open Source Project
39a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri *
49a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri * Licensed under the Apache License, Version 2.0 (the "License");
59a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri * you may not use this file except in compliance with the License.
69a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri * You may obtain a copy of the License at
79a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri *
89a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri *     http://www.apache.org/licenses/LICENSE-2.0
99a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri *
109a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri * Unless required by applicable law or agreed to in writing, software
119a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri * distributed under the License is distributed on an "AS IS" BASIS,
129a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri * See the License for the specific language governing permissions and
149a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri * limitations under the License.
159a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri */
169a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
179a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseripackage android.service.carrier;
189a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
199a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseriimport android.os.Parcel;
209a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseriimport android.os.Parcelable;
219a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
229a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri/**
239a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri * Used to pass info to CarrierConfigService implementations so they can decide what values to
249a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri * return.
259a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri */
269a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseripublic class CarrierIdentifier implements Parcelable {
279a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
289a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    /** Used to create a {@link CarrierIdentifier} from a {@link Parcel}. */
299a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public static final Creator<CarrierIdentifier> CREATOR = new Creator<CarrierIdentifier>() {
309a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri            @Override
319a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        public CarrierIdentifier createFromParcel(Parcel parcel) {
329a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri            return new CarrierIdentifier(parcel);
339a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        }
349a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
359a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri            @Override
369a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        public CarrierIdentifier[] newArray(int i) {
379a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri            return new CarrierIdentifier[i];
389a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        }
399a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    };
409a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
419a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    private String mMcc;
429a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    private String mMnc;
439a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    private String mSpn;
449a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    private String mImsi;
459a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    private String mGid1;
469a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    private String mGid2;
479a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
489a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public CarrierIdentifier(String mcc, String mnc, String spn, String imsi, String gid1,
499a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri            String gid2) {
509a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mMcc = mcc;
519a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mMnc = mnc;
529a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mSpn = spn;
539a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mImsi = imsi;
549a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mGid1 = gid1;
559a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mGid2 = gid2;
569a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    }
579a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
589a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    /** @hide */
599a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public CarrierIdentifier(Parcel parcel) {
609a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        readFromParcel(parcel);
619a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    }
629a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
639a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    /** Get the mobile country code. */
649a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public String getMcc() {
659a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        return mMcc;
669a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    }
679a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
689a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    /** Get the mobile network code. */
699a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public String getMnc() {
709a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        return mMnc;
719a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    }
729a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
739a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    /** Get the service provider name. */
749a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public String getSpn() {
759a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        return mSpn;
769a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    }
779a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
789a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    /** Get the international mobile subscriber identity. */
799a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public String getImsi() {
809a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        return mImsi;
819a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    }
829a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
839a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    /** Get the group identifier level 1. */
849a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public String getGid1() {
859a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        return mGid1;
869a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    }
879a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
889a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    /** Get the group identifier level 2. */
899a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public String getGid2() {
909a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        return mGid2;
919a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    }
929a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
939a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    @Override
949a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public int describeContents() {
959a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        return 0;
969a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    }
979a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
989a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    @Override
999a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public void writeToParcel(Parcel out, int flags) {
1009a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        out.writeString(mMcc);
1019a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        out.writeString(mMnc);
1029a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        out.writeString(mSpn);
1039a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        out.writeString(mImsi);
1049a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        out.writeString(mGid1);
1059a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        out.writeString(mGid2);
1069a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    }
1079a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri
108b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri    @Override
109b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri    public String toString() {
110b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri      return "CarrierIdentifier{"
111b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri          + "mcc=" + mMcc
112b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri          + ",mnc=" + mMnc
113b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri          + ",spn=" + mSpn
114b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri          + ",imsi=" + mImsi
115b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri          + ",gid1=" + mGid1
116b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri          + ",gid2=" + mGid2
117b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri          + "}";
118b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri    }
119b1a43484d5df60756332df705abe4724a56000e4Jonathan Basseri
1209a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    /** @hide */
1219a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    public void readFromParcel(Parcel in) {
1229a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mMcc = in.readString();
1239a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mMnc = in.readString();
1249a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mSpn = in.readString();
1259a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mImsi = in.readString();
1269a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mGid1 = in.readString();
1279a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri        mGid2 = in.readString();
1289a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri    }
1299a1c9b67c4b2426884deb60c1ff84130ab47333cJonathan Basseri}
130