10701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvistpackage com.android.hotspot2.app;
20701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
30701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvistimport android.os.Parcel;
40701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvistimport android.os.Parcelable;
50701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
60701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvistimport com.android.hotspot2.flow.OSUInfo;
70701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvistimport com.android.hotspot2.osu.OSUManager;
80701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
90701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvistpublic class OSUData implements Parcelable {
100701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    private final String mName;
110701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    private final String mServiceDescription;
120701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    private final byte[] mIconData;
130701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    private final int mId;
140701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
150701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    public OSUData(OSUInfo osuInfo) {
160701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        mName = osuInfo.getName(OSUManager.LOCALE);
170701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        mServiceDescription = osuInfo.getServiceDescription(OSUManager.LOCALE);
180701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        mIconData = osuInfo.getIconFileElement().getIconData();
190701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        mId = osuInfo.getOsuID();
200701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    }
210701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
220701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    public String getName() {
230701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        return mName;
240701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    }
250701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
260701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    public String getServiceDescription() {
270701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        return mServiceDescription;
280701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    }
290701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
300701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    public byte[] getIconData() {
310701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        return mIconData;
320701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    }
330701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
340701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    public int getId() {
350701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        return mId;
360701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    }
370701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
380701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    private OSUData(Parcel in) {
390701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        mName = in.readString();
400701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        mServiceDescription = in.readString();
410701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        int iconSize = in.readInt();
420701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        mIconData = new byte[iconSize];
430701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        in.readByteArray(mIconData);
440701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        mId = in.readInt();
450701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    }
460701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
470701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    public static final Parcelable.Creator<OSUData> CREATOR = new Parcelable.Creator<OSUData>() {
480701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        public OSUData createFromParcel(Parcel in) {
490701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist            return new OSUData(in);
500701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        }
510701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
520701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        public OSUData[] newArray(int size) {
530701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist            return new OSUData[size];
540701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        }
550701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    };
560701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
570701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    @Override
580701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    public int describeContents() {
590701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        return 0;
600701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    }
610701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist
620701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    @Override
630701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    public void writeToParcel(Parcel dest, int flags) {
640701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        dest.writeString(mName);
650701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        dest.writeString(mServiceDescription);
660701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        dest.writeByteArray(mIconData);
670701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist        dest.writeInt(mId);
680701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist    }
690701952aaa17dcef461d3a538048243d9fe690f1Jan Nordqvist}
70